﻿using System;

namespace Mono.Cecil.Cil
{
	// Token: 0x0200011A RID: 282
	public sealed class Document : DebugInformation
	{
		// Token: 0x170002C4 RID: 708
		// (get) Token: 0x06000AB5 RID: 2741 RVA: 0x00030E04 File Offset: 0x0002F004
		// (set) Token: 0x06000AB6 RID: 2742 RVA: 0x00005C98 File Offset: 0x00003E98
		public string Url
		{
			get
			{
				return this.url;
			}
			set
			{
				this.url = value;
			}
		}

		// Token: 0x170002C5 RID: 709
		// (get) Token: 0x06000AB7 RID: 2743 RVA: 0x00030E1C File Offset: 0x0002F01C
		// (set) Token: 0x06000AB8 RID: 2744 RVA: 0x00005CA2 File Offset: 0x00003EA2
		public DocumentType Type
		{
			get
			{
				return this.type.ToType();
			}
			set
			{
				this.type = value.ToGuid();
			}
		}

		// Token: 0x170002C6 RID: 710
		// (get) Token: 0x06000AB9 RID: 2745 RVA: 0x00030E3C File Offset: 0x0002F03C
		// (set) Token: 0x06000ABA RID: 2746 RVA: 0x00005CB1 File Offset: 0x00003EB1
		public Guid TypeGuid
		{
			get
			{
				return this.type;
			}
			set
			{
				this.type = value;
			}
		}

		// Token: 0x170002C7 RID: 711
		// (get) Token: 0x06000ABB RID: 2747 RVA: 0x00030E54 File Offset: 0x0002F054
		// (set) Token: 0x06000ABC RID: 2748 RVA: 0x00005CBB File Offset: 0x00003EBB
		public DocumentHashAlgorithm HashAlgorithm
		{
			get
			{
				return this.hash_algorithm.ToHashAlgorithm();
			}
			set
			{
				this.hash_algorithm = value.ToGuid();
			}
		}

		// Token: 0x170002C8 RID: 712
		// (get) Token: 0x06000ABD RID: 2749 RVA: 0x00030E74 File Offset: 0x0002F074
		// (set) Token: 0x06000ABE RID: 2750 RVA: 0x00005CCA File Offset: 0x00003ECA
		public Guid HashAlgorithmGuid
		{
			get
			{
				return this.hash_algorithm;
			}
			set
			{
				this.hash_algorithm = value;
			}
		}

		// Token: 0x170002C9 RID: 713
		// (get) Token: 0x06000ABF RID: 2751 RVA: 0x00030E8C File Offset: 0x0002F08C
		// (set) Token: 0x06000AC0 RID: 2752 RVA: 0x00005CD4 File Offset: 0x00003ED4
		public DocumentLanguage Language
		{
			get
			{
				return this.language.ToLanguage();
			}
			set
			{
				this.language = value.ToGuid();
			}
		}

		// Token: 0x170002CA RID: 714
		// (get) Token: 0x06000AC1 RID: 2753 RVA: 0x00030EAC File Offset: 0x0002F0AC
		// (set) Token: 0x06000AC2 RID: 2754 RVA: 0x00005CE3 File Offset: 0x00003EE3
		public Guid LanguageGuid
		{
			get
			{
				return this.language;
			}
			set
			{
				this.language = value;
			}
		}

		// Token: 0x170002CB RID: 715
		// (get) Token: 0x06000AC3 RID: 2755 RVA: 0x00030EC4 File Offset: 0x0002F0C4
		// (set) Token: 0x06000AC4 RID: 2756 RVA: 0x00005CED File Offset: 0x00003EED
		public DocumentLanguageVendor LanguageVendor
		{
			get
			{
				return this.language_vendor.ToVendor();
			}
			set
			{
				this.language_vendor = value.ToGuid();
			}
		}

		// Token: 0x170002CC RID: 716
		// (get) Token: 0x06000AC5 RID: 2757 RVA: 0x00030EE4 File Offset: 0x0002F0E4
		// (set) Token: 0x06000AC6 RID: 2758 RVA: 0x00005CFC File Offset: 0x00003EFC
		public Guid LanguageVendorGuid
		{
			get
			{
				return this.language_vendor;
			}
			set
			{
				this.language_vendor = value;
			}
		}

		// Token: 0x170002CD RID: 717
		// (get) Token: 0x06000AC7 RID: 2759 RVA: 0x00030EFC File Offset: 0x0002F0FC
		// (set) Token: 0x06000AC8 RID: 2760 RVA: 0x00005D06 File Offset: 0x00003F06
		public byte[] Hash
		{
			get
			{
				return this.hash;
			}
			set
			{
				this.hash = value;
			}
		}

		// Token: 0x170002CE RID: 718
		// (get) Token: 0x06000AC9 RID: 2761 RVA: 0x00030F14 File Offset: 0x0002F114
		// (set) Token: 0x06000ACA RID: 2762 RVA: 0x00005D10 File Offset: 0x00003F10
		public byte[] EmbeddedSource
		{
			get
			{
				return this.embedded_source;
			}
			set
			{
				this.embedded_source = value;
			}
		}

		// Token: 0x06000ACB RID: 2763 RVA: 0x00005D1A File Offset: 0x00003F1A
		public Document(string url)
		{
			this.url = url;
			this.hash = Empty<byte>.Array;
			this.embedded_source = Empty<byte>.Array;
			this.token = new MetadataToken(TokenType.Document);
		}

		// Token: 0x040005B9 RID: 1465
		private string url;

		// Token: 0x040005BA RID: 1466
		private Guid type;

		// Token: 0x040005BB RID: 1467
		private Guid hash_algorithm;

		// Token: 0x040005BC RID: 1468
		private Guid language;

		// Token: 0x040005BD RID: 1469
		private Guid language_vendor;

		// Token: 0x040005BE RID: 1470
		private byte[] hash;

		// Token: 0x040005BF RID: 1471
		private byte[] embedded_source;
	}
}
